Data processing, or computer, networks are quickly integrating themselves into our every day personal and business environments just as the telephone network over for the previous portion of this century. Local area networks ("LANs") and wide area networks ("WANs") connect our computers in our homes and offices, allow us to access money from automatic teller machines, provide for point-of-sale transactions, and enable the transmission of information almost instantaneously between any two points on the planet, among other utilities too numerous to list herein.
Generally, such networks are interconnected by private and "public" telecommunications facilities, including via domestic and international telephone companies through telephone and/or data carrying facilities. Correspondingly, such telecommunications facilities providing communications links between computer systems will have bandwidth limitations on their ability to transmit information.
With the advent of high speed communications links providing multiple services on a single link, the need to manage the access to the communications links becomes more important. Recent products demonstrate a trend in enhanced bandwidth management by providing a reservation mechanism or policy that provides a deterministic means of managing the bandwidth resources. One example of a reservation system is the existing telephone network. As a telephone number is dialed, the resource reservation system in the network determines the availability of links between the caller and the callee. Since a telephone network only supports a single traffic type (voice), and all users of the networks are by definition abiding by their resource request (the bandwidth required by voice transmissions does not change during the course of a call), this type of resource management is comparatively simple.
New networks such as Asynchronous Transfer Mode ("ATM") networks, permit the co-existence of different data types such as video, computer data, and voice. Here, resource requirements, variability of resource utilization and the need for guaranteed capacity change by application. For example, video bandwidth is bound and must be guaranteed for the duration of a video call. Computer data transfers are not bound, vary over time frames as small as a second, but do not require guaranteed bandwidth. Voice is similar to video, in bandwidth bounds and reservation requirements. In these networks, the reservation system must manage the complexity of guaranteeing resources for voice and video applications, while ensuring that non-reserved applications do not consume resources allocated for reserved applications.
There are two basic problems that may be present with typical reservation solutions. First, not all users on the network may participate in the reservation scheme. This is especially troublesome in shared media implementations (e.g., LANs) or in networks with heterogeneous equipment and services. Less than 100% participation limits the effectiveness of the reservation system since some portion of the network is being utilized by unreserved or non-conforming users. Second, this non-conforming portion of the network fluctuates over time and thus makes it difficult to determine the amount of bandwidth available to the reservation system.
Traffic on any given shared media network can be broken into two general categories with respect to bandwidth management systems. The first category is that network traffic that uses the reservation aspect of the bandwidth management system to gain access to the network. This traffic is said to conform to the reservation system. The second category is the traffic that does not use the reservation system but still requires a portion of the network bandwidth. This class of information is referred to as non-conforming traffic. Many networks support a reservation mechanism, but lack a policing mechanism. This is because implementing a universal policing mechanism in a shared media environment is very difficult unless the mechanism is an inherent part of the transmission scheme. Most LANs implemented today lack such a policing capability.
As an example, assume a client computer system wishes to use a network application requiring a virtual channel of 2 Mb/s, guaranteed, on a network which uses a traditional reservation policy. Not all components comply with the reservation scheme, and the network assumes that the non-conforming traffic has a maximum bandwidth of 2 Mb/s. The network has a total bandwidth of 10 Mb/s and 5 Mb/s are currently being used for conforming applications. FIG. 5 illustrates how such a traditional reservation system 500 with a connection control function 503 may operate.
The client computer system 501 first contacts the connection agent 505 through the telecommunications network 504 via path 510 to request connection through the network 504 to the application server 502 (typically, a remote computer system). The client 501 specifies that its application needs 2 Mb/s of the bandwidth of the network 504.
The connection agent 505 queries the reservation manager 506 via path 511 to see if there are 2 Mb/s of bandwidth available in the network 504. The reservation manager 506 is aware that 5 Mb/s are currently being used by conforming applications, and assuming that the non-conforming traffic requires less than 2 Mb/s of bandwidth, the reservation manager 506 informs the connection agent 505 that there is adequate bandwidth in reserve to handle the request from the client 501. The total conforming bandwidth is now set to 7 Mb/s. The connection agent 505 connects the client 501 to the application server 502 via the network 504 and paths 512 and 513. The client 501 attempts to use the application and its requisite 2 Mb/s.
Now, suppose that the non-conforming traffic on the network 504 increases to 4 Mb/s instead from 2 Mb/s as the reservation manager 506 assumed. In this case, the existing traffic plus the new request will saturate the network 504 by attempting to use 11 Mb/s. The graph illustrated in FIG. 6 further illustrates this problem caused by the network bandwidth allocation mechanism utilized within system 500. As can be noted from the graph, under the exemplary scenario discussed above with respect to FIG. 5, connection of the client 501 to the application server 502 by the connection control 503 will result in an allocation of network bandwidth beyond the capacity of the network.
Therefore, there is a need in the art for a more efficient and improved bandwidth management system for allocating bandwidth within a data processing system network.